package me.davidgreene.minerstatus.service;
import me.davidgreene.minerstatus.MinerStatusApp;
import me.davidgreene.minerstatus.theme.Theme;
import me.davidgreene.minerstatus.theme.ThemeFactory;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class ThemeServiceImpl implements ThemeService {
private MinerStatusApp app;
public ThemeServiceImpl(Context context){
this.app = ((MinerStatusApp)context);
}
private final String SELECT_CONFIG_VALUE = "select value from config where key=?";
public Theme getTheme() {
Cursor cursor = null;
try{
cursor = getDBr().rawQuery(SELECT_CONFIG_VALUE, new String[]{"theme"});
if (cursor.moveToNext()){
return ThemeFactory.getTheme(cursor.getString(0));
} else {
return ThemeFactory.getTheme();
}
} catch (Exception e){
return ThemeFactory.getTheme();
} finally{
if (cursor != null){
cursor.close();
}
}
}
private SQLiteDatabase getDBr(){
return app.getDbHelper().getReadableDatabase();
}
}